Projet DATA732 - Analyse d'articles

Par : Louna Camas et Mathieu Docher
Données utilisées : Corpus d'articles d'extrême droite
GitHub


Introduction

Au cours de ce projet, nous avons créé des visualisations afin d'analyser des données extraites d'articles de journaux d'extrème droite. L'objectif étant de produire un dashboard clair et cohérent permettant l'analyse des données.

Technologies utilisées

Ce projet a été entièrement codé en python à l'aide des librairies suivantes :

Certains graphes ont été visualisés à l'aide du logiciel Gephy.


Réalisations

Nombre d'articles par mois

Une des premières choses qui nous est apparu pertinente de représenter est le nombre d'articles publiés par mois afin de voir si des tendances apparaissent. Nous avons choisi un diagramme en barres car il permet de bien visualiser l'évolution des données dans le temps. Une barre correspondant à un mois est le meilleur compromis entre lisibilité et précision des données.

Le premier point différent est le nombre d'articles publié en décembre. Il est très inférieur à ceux des autres mois. Cela s'explique facilement en observant la plage des données recueillies qui est censée commencer le 1er janvier mais qui contient sûrement quelques articles de la fin décembre.
Par la suite, nous pouvons remarquer, quasiement systématiquement, des creux durant la période éstivale. Moins de gens travaillent donc moins d'articles.
De manière globale, le nombre moyen d'articles publiés augmente légèrement avec des piques en mars 2020 (peut-être du au covid19) et en octobre 2020.

Articles par mois

Citations de noms de pays

Nous avons ensuite décidé de représenter le nombre d'apparitions de noms de pays dans les articles. Pour cela, nous avons choisi de faire un histogramme, car il permet de visualiser rapidement les 30 pays les plus cités par chaque média, et une carte du monde pour rendre le tout plus visuel et éventuellement repérer certaines tendances géographiques ou politiques.

Pour ce faire, nous cherchons dans chaque article publié sur le site les noms de pays et les stockons dans un dictionnaire avec leur nombre d'apparitions. Ensuite, nous sélectionnons les 30 pays les plus cités et les représentons dans l'histogramme, en excluant certains pays trop cités (comme la France ou la Mali (dans les corpus concernant le Mali)). Par exemple, voici l'histogramme obtenu pour toutes les citations de noms de pays dans les articles de Sputniknews, entre 2019 et 2022.

Histogramme du nombre d'apparitions des noms de pays sur Sputniknews

On peut voir que les pays les plus cités sont la Russie, les États-Unis et l'Algérie avec respectivement 8255, 6974 et 5067 mentions sur près de 14000 articles. Simplement avec ces informations, on peut déjà se faire une idée des sujets les plus abordés par Sputniknews.

Ensuite, nous avons utilisé la librairie plotly pour créer une carte du monde avec les pays les plus cités. Les pays sont colorés en fonction du nombre de citations, ce qui permet de voir rapidement les pays les plus cités (oui, normalement si on colore l'entièreté de la surface du pays, c'est pour indiquer une densité, mais ici, on a choisi de le faire pour des raisons de lisibilité, désolé). Voici la carte obtenue, toujours pour Sputniknews :

Carte du monde avec les pays les plus cités sur Sputniknews

On remarque très facilement les pays les plus cités, mais on peut voir plus facilement certaines tendances géographiques, notamment envers les pays du Moyen-Orient et d'Afrique du Nord, qui sont assez souvent cités dans les articles de Sputniknews. La carte ajoute donc une dimension visuelle et géographique que l'histogramme ne permet pas.

Fréquence des mots clés

Le choix d'un graphique en barres s'explique ici par sa représentation claire de la fréquence des mots-clés dans le corpus d'articles. Il permet de comparer facilement les occurrences des termes les plus utilisés, en mettant en évidence les différences et les tendances dans les données en fonction des années. En effet, pour créer ce graphique, nous parcourons toutes les données en sauvegardant dans un dictionnaire le nombre d'apparition des mots par année et au total. Ensuite, nous sélectionnons uniquement les 20 termes apparaissant le plus (par soucis de lisibilité). Nous pouvons choisir l'année à l'aide du menu déroulant sur la droite du graphique.

Grâce à cette représentation,nous pouvons voir que les mots France, Françaiset Pays apparaissent majoritairement, ce qui semble logique pour des journaux d'extrème droite. Nous observons également des "thèmes" par année, ce qui rend possible de déterminer des évènements marquants de l'année. Comme par exemple en 2019 avec la crise des gilets jaunes et l'augmentation de la fréquence de jaune, gilet et macron ou encore des évènements avec la police en 2021 (police, policier).

Fréquence des mots clés

Graphes

Le dernier type de visualisation que nous avons choisi de réaliser est un graphe. Nous avons choisi de représenter les liens entre les mots-clés les plus fréquents des articles. Pour cela, nous avons utilisé la librairie networkx qui permet de créer des graphes. Nous avons choisi de faire un graphe non orienté, car les liens entre les mots-clés ne sont pas forcément à sens unique. Concrètement, chaque mot-clé apparaissant dans un article forme des couples avec l'ensemble des autres mots-clés de l'article. Pour chaque article du corpus, l'ensemble des couples ayant un nombre minimum d'occurrences est ajouté au graphe, sous forme d'un lien entre les deux mots-clés. Ainsi, on peut réduire la taille du graphe obtenu en ne gardant que les liens les plus fréquents.

Dans un second temps, nous avons essayé d'améliorer la visibilité des graphes obtenus de deux manières :

Graphe généré par Gephi, plus clair

Sur ce graphe, on peut distinguer des communautés de mots-clés, qui sont regroupés en fonction de leur proximité dans les articles. On peut donc appercevoir certaines tendances politiques ou thématiques : par exemple, les mots france et françaissont plus gros et très proches, ce qui signifie qu'ils sont souvent cités dans les articles, mais on peut remarquer un très grand nombre de "proximités" entre certains mots, comme gillets et jaunes, macron et président, gauche et mosquée, ce qui peut témoigner d'une certaine tendance politique dans les articles.

Voici les liens pour visualiser les graphes obtenus avec Gephi en plus haute résolution :

(Graphe n°1 : "françaisdesouche")

(Graphe n°2 : "égalité et reconciliation") (la taille des points semble incorrecte sur ce graphe là...)


Dashboard

Pour construire le dashboard, nous avons utlisé dash. Ce dernier a connu deux versions distinctes. Une première version "simple" contenant une div comportant un titre et un unqiue espace pour un graphique. Les différents graphiques étaient organisés à l'aide de subplot. Cependant, cettte réalisation comporte de nombreuses limites telles que les titres et les légendes (colorscale) n'apparaissaient pas enlevant la possibilité qu'ils se mettent à jour avec le graphique, et également l'esthétisme. Il est assez dur de modeler subplot selon le résultat que nous voulions.
Une seconde version (la finale) a suivi optimisée à l'aide de dash uniquement. Le dashboard a été agencé comme une page html avec des containers, des divs à foison, un fichier css... Cela nous a permis de vraiment le personnaliser.

Le dashboard est composé :

Dashboard